package com.l024.easysecurity.modules.sys.service;

import com.l024.easysecurity.common.page.PageData;
import com.l024.easysecurity.common.page.PageParams;
import com.l024.easysecurity.common.utils.R;
import com.l024.easysecurity.modules.sys.entity.SysMenu;
import com.l024.easysecurity.modules.sys.entity.SysRole;
import com.l024.easysecurity.modules.sys.vo.sys.SysRoleVo;

import java.util.List;

public interface SysRoleService {
    /**
     * 获取所有角色信息
     * @return
     */
    List<SysRole> getSysRoles();

    /**
     * 获取所有角色以及对应的菜单
     */
    List<SysRole> getRoleAllAndMenu();

    /**
     * 添加角色信息
     */
    R addRole(SysRoleVo sysRoleVo);

    /**
     * 更新角色信息
     */
    R updateRole(SysRoleVo sysRoleVo);

    /**
     * 删除角色信息
     */
    R delRole(long roleId);

    /**
     * 分页条件查询角色列表
     */
    PageData<SysRoleVo> selectPageSysRole(SysRole sysRole, PageParams pageParam);


    /**
     * 获取所有权限菜单
     */
    List<SysMenu> queryAllMenus();
}
